unit untCadPropriedades;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, untCadPadrao, cxStyles, cxCustomData, cxGraphics, cxFilter,
  cxData, cxDataStorage, cxEdit, DB, cxDBData, cxPropertiesStore, ACBrBase,
  ACBrEnterTab, cxContainer, cxGridTableView, cxGridCustomPopupMenu,
  cxGridPopupMenu, cxLookAndFeels, dxBarDBNav, ImgList, ActnList, dxBar,
  cxClasses, IBQuery, IBCustomDataSet, ExtCtrls, cxGridLevel, cxControls,
  cxGridCustomView, cxGridCustomTableView, cxGridDBTableView, cxGrid, cxPC,
  cxSpinEdit, cxDBEdit, cxMaskEdit, cxLabel, cxTextEdit, cxGroupBox,
  cxDropDownEdit, cxLookupEdit, cxDBLookupEdit, cxDBLookupComboBox,
  cxButtonEdit, cxCalc, cxCheckBox, cxIntlBase, cxintl,
  cxGridBandedTableView, cxGridDBBandedTableView, cxLookAndFeelPainters,
  dxSkinsCore, dxSkinBlack, dxSkinBlue, dxSkinCaramel, dxSkinCoffee,
  dxSkinDarkRoom, dxSkinDarkSide, dxSkinFoggy, dxSkinGlassOceans,
  dxSkiniMaginary, dxSkinLilian, dxSkinLiquidSky, dxSkinLondonLiquidSky,
  dxSkinMcSkin, dxSkinMoneyTwins, dxSkinOffice2007Black,
  dxSkinOffice2007Blue, dxSkinOffice2007Green, dxSkinOffice2007Pink,
  dxSkinOffice2007Silver, dxSkinOffice2010Black, dxSkinOffice2010Blue,
  dxSkinOffice2010Silver, dxSkinPumpkin, dxSkinSeven, dxSkinSharp,
  dxSkinSilver, dxSkinSpringTime, dxSkinStardust, dxSkinSummer2008,
  dxSkinsDefaultPainters, dxSkinValentine, dxSkinXmas2008Blue,
  dxSkinscxPCPainter, dxSkinsdxBarPainter, dxSkinsForm, cxImage;

type
  TfrmCadPropriedade = class(TfrmCadPadrao)
    dtEditCODIGO: TIntegerField;
    dtEditNOME: TIBStringField;
    dtEditCIDADE: TIntegerField;
    dtEditPRODUTOR: TIntegerField;
    dtEditCOMPLEMENTO: TIBStringField;
    dtEditN_CPR: TIntegerField;
    dtEditINSC_IAGRO: TIBStringField;
    dtEditINCRA: TIBStringField;
    dtEditCRC_CONTADOR: TIBStringField;
    dtEditCAFIR: TIBStringField;
    dtEditR_MAT: TIBStringField;
    dtEditINSC_ESTADUAL: TIBStringField;
    dtEditEXPORT_MIC: TIBStringField;
    dtEditCOND_PRODUTOR: TIntegerField;
    dtListP_NOME: TIBStringField;
    dtListCODIGO: TIntegerField;
    dtListNOME: TIBStringField;
    dtListCIDADE: TIntegerField;
    dtListPRODUTOR: TIntegerField;
    dtListCOMPLEMENTO: TIBStringField;
    dtListN_CPR: TIntegerField;
    dtListINSC_IAGRO: TIBStringField;
    dtListINCRA: TIBStringField;
    dtListCRC_CONTADOR: TIBStringField;
    dtListCAFIR: TIBStringField;
    dtListR_MAT: TIBStringField;
    dtListINSC_ESTADUAL: TIBStringField;
    dtListEXPORT_MIC: TIBStringField;
    dtListCOND_PRODUTOR: TIntegerField;
    dtEditAREA_TOTAL: TFloatField;
    dtEditAREA_PASTAGEM: TFloatField;
    dtEditAREA_AGRICOLA: TFloatField;
    dtEditOUTRAS_AREAS: TFloatField;
    dtEditAREA_UTILIZADA: TFloatField;
    dtListAREA_TOTAL: TFloatField;
    dtListAREA_PASTAGEM: TFloatField;
    dtListAREA_AGRICOLA: TFloatField;
    dtListOUTRAS_AREAS: TFloatField;
    dtListAREA_UTILIZADA: TFloatField;
    dsProdutores: TDataSource;
    lstProdutores: TIBQuery;
    lstCidades: TIBQuery;
    lstCidadesCODIGO: TIntegerField;
    lstCidadesNOME: TIBStringField;
    lstCidadesCOD_IBGE: TIBStringField;
    lstCidadesCOD_IAGRO: TIBStringField;
    lstCidadesCOD_SEFAZ: TIBStringField;
    lstCidadesESTADO: TIntegerField;
    dsCidades: TDataSource;
    dsCondPropriedade: TDataSource;
    lstCondPropriedade: TIBQuery;
    lstCondPropriedadeCODIGO: TIntegerField;
    lstCondPropriedadeNOME: TIBStringField;
    lstProdutoresCODIGO: TIntegerField;
    lstProdutoresNOME: TIBStringField;
    dtEditATIVO: TIBStringField;
    dtListATIVO: TIBStringField;
    dsDcFiscal: TDataSource;
    lstdcFiscal: TIBQuery;
    lstdcFiscalCODIGO: TIntegerField;
    lstdcFiscalNOME: TIBStringField;
    lstdcFiscalCOD_IBGE: TIBStringField;
    lstdcFiscalCOD_IAGRO: TIBStringField;
    lstdcFiscalCOD_SEFAZ: TIBStringField;
    lstdcFiscalESTADO: TIntegerField;
    lstdcFiscalCEP_PADRAO: TIBStringField;
    lstdcFiscalUF_TEMP: TIBStringField;
    dtEditDOMICILIO_FISCAL: TIntegerField;
    dtListDOMICILIO_FISCAL: TIntegerField;
    lstdcFiscalUF: TIBStringField;
    lstCidadesCEP_PADRAO: TIBStringField;
    lstCidadesUF_TEMP: TIBStringField;
    lstCidadesUF: TIBStringField;
    dtListCDD_NOME: TIBStringField;
    dtListDC_NOME: TIBStringField;
    dtEditGADO_PRECOCE: TIBStringField;
    dtEditGADO_REGISTRADO: TIBStringField;
    dtEditGADO_LEITEIRO: TIBStringField;
    dtListGADO_PRECOCE: TIBStringField;
    dtListGADO_REGISTRADO: TIBStringField;
    dtListGADO_LEITEIRO: TIBStringField;
    cxDBCheckBox1: TcxDBCheckBox;
    dtEditCAPACIDADE_ARMAZENAMENTO: TIBBCDField;
    dtListCAPACIDADE_ARMAZENAMENTO: TIBBCDField;
    pnlSubCad: TPanel;
    PgcComplementar: TcxPageControl;
    tbsEstInicial: TcxTabSheet;
    PGCSub1: TcxPageControl;
    tbsListaComp1: TcxTabSheet;
    GridComp1: TcxGrid;
    GridComp1DBTableView1: TcxGridDBTableView;
    GridComp1Level1: TcxGridLevel;
    tbsEditaComp1: TcxTabSheet;
    tbsGadoLeiteiro: TcxTabSheet;
    PGCSub2: TcxPageControl;
    tbsListaComp2: TcxTabSheet;
    GridComp2: TcxGrid;
    GridComp2DBTableView1: TcxGridDBTableView;
    GridComp2Level1: TcxGridLevel;
    tbsEditaComp2: TcxTabSheet;
    dsRegistroComp1: TDataSource;
    dsPesquisaComp1: TDataSource;
    dtListComp1Itens: TIBQuery;
    dtComp1Itens: TIBDataSet;
    dtListComp2Itens: TIBQuery;
    dsPesquisaComp2: TDataSource;
    dsRegistroComp2: TDataSource;
    dtComp2Itens: TIBDataSet;
    dsLinkComp2: TDataSource;
    dsLinkComp1: TDataSource;
    dtListComp1ItensCODIGO: TIntegerField;
    dtListComp1ItensANO: TIntegerField;
    dtListComp1ItensPRODUTO: TIntegerField;
    dtListComp1ItensPROPRIEDADE: TIntegerField;
    dtListComp1ItensQTDE: TIBBCDField;
    dtListComp1ItensPRODUTO_NOME: TIBStringField;
    GridComp1DBTableView1CODIGO: TcxGridDBColumn;
    GridComp1DBTableView1ANO: TcxGridDBColumn;
    GridComp1DBTableView1PRODUTO: TcxGridDBColumn;
    GridComp1DBTableView1PROPRIEDADE: TcxGridDBColumn;
    GridComp1DBTableView1QTDE: TcxGridDBColumn;
    GridComp1DBTableView1PRODUTO_NOME: TcxGridDBColumn;
    dtComp1ItensCODIGO: TIntegerField;
    dtComp1ItensANO: TIntegerField;
    dtComp1ItensPRODUTO: TIntegerField;
    dtComp1ItensPROPRIEDADE: TIntegerField;
    dtComp1ItensQTDE: TIBBCDField;
    cxDBCalcEdit7: TcxDBCalcEdit;
    cxLabel20: TcxLabel;
    cbProduto: TcxDBLookupComboBox;
    btnProduto: TcxButtonEdit;
    cxLabel21: TcxLabel;
    cxDBSpinEdit1: TcxDBSpinEdit;
    cxLabel22: TcxLabel;
    edtCodigoComp1: TcxDBTextEdit;
    cxLabel23: TcxLabel;
    dsProdutos: TDataSource;
    lstProdutos: TIBQuery;
    lstProdutosCODIGO: TIntegerField;
    lstProdutosNOME: TIBStringField;
    lstProdutosGRUPO: TIntegerField;
    lstProdutosUNIDADE: TIntegerField;
    lstProdutosVALOR: TFloatField;
    lstProdutosATIVO: TIBStringField;
    edtCodigoComp2: TcxDBTextEdit;
    cxLabel24: TcxLabel;
    cxDBCalcEdit8: TcxDBCalcEdit;
    cxLabel25: TcxLabel;
    cxDBSpinEdit2: TcxDBSpinEdit;
    cxLabel26: TcxLabel;
    dtComp2ItensCODIGO: TIntegerField;
    dtComp2ItensANO: TIntegerField;
    dtComp2ItensQTDE_VACAS: TIBBCDField;
    dtComp2ItensQTDE_LEITE_COMERCIALIZADO: TIBBCDField;
    dtComp2ItensPROPRIEDADE: TIntegerField;
    cxDBCalcEdit9: TcxDBCalcEdit;
    cxLabel27: TcxLabel;
    pnlRegistro: TPanel;
    cxGroupBox2: TcxGroupBox;
    cxDBCheckBox2: TcxDBCheckBox;
    cxDBCheckBox3: TcxDBCheckBox;
    cxDBCheckBox4: TcxDBCheckBox;
    cxGroupBox1: TcxGroupBox;
    cxDBCalcEdit1: TcxDBCalcEdit;
    cxLabel13: TcxLabel;
    cxDBCalcEdit2: TcxDBCalcEdit;
    cxLabel14: TcxLabel;
    cxDBCalcEdit3: TcxDBCalcEdit;
    cxLabel15: TcxLabel;
    cxDBCalcEdit4: TcxDBCalcEdit;
    cxLabel16: TcxLabel;
    cxDBCalcEdit5: TcxDBCalcEdit;
    cxLabel17: TcxLabel;
    btnDomicilio: TcxButtonEdit;
    cbDomicilio: TcxDBLookupComboBox;
    cxLabel18: TcxLabel;
    cbProdutor: TcxDBLookupComboBox;
    cxLabel11: TcxLabel;
    btnProdutor: TcxButtonEdit;
    cbCondicao: TcxDBLookupComboBox;
    cxLabel12: TcxLabel;
    btnCondicao: TcxButtonEdit;
    cxDBTextEdit1: TcxDBTextEdit;
    cxLabel4: TcxLabel;
    btnCidade: TcxButtonEdit;
    cbCidade: TcxDBLookupComboBox;
    cxLabel9: TcxLabel;
    cxDBTextEdit2: TcxDBTextEdit;
    cxLabel5: TcxLabel;
    cxDBTextEdit4: TcxDBTextEdit;
    cxLabel6: TcxLabel;
    cxDBTextEdit5: TcxDBTextEdit;
    cxLabel7: TcxLabel;
    cxDBTextEdit6: TcxDBTextEdit;
    cxLabel8: TcxLabel;
    cxDBTextEdit7: TcxDBTextEdit;
    cxLabel10: TcxLabel;
    edtNome: TcxDBTextEdit;
    cxLabel3: TcxLabel;
    cxDBTextEdit3: TcxDBTextEdit;
    cxLabel2: TcxLabel;
    edtCodigo: TcxDBTextEdit;
    cxLabel1: TcxLabel;
    cxDBCheckBox5: TcxDBCheckBox;
    GridDBBandedTableView2P_NOME: TcxGridDBBandedColumn;
    GridDBBandedTableView2CODIGO: TcxGridDBBandedColumn;
    GridDBBandedTableView2NOME: TcxGridDBBandedColumn;
    GridDBBandedTableView2CIDADE: TcxGridDBBandedColumn;
    GridDBBandedTableView2PRODUTOR: TcxGridDBBandedColumn;
    GridDBBandedTableView2COMPLEMENTO: TcxGridDBBandedColumn;
    GridDBBandedTableView2N_CPR: TcxGridDBBandedColumn;
    GridDBBandedTableView2INSC_IAGRO: TcxGridDBBandedColumn;
    GridDBBandedTableView2INCRA: TcxGridDBBandedColumn;
    GridDBBandedTableView2CRC_CONTADOR: TcxGridDBBandedColumn;
    GridDBBandedTableView2CAFIR: TcxGridDBBandedColumn;
    GridDBBandedTableView2R_MAT: TcxGridDBBandedColumn;
    GridDBBandedTableView2INSC_ESTADUAL: TcxGridDBBandedColumn;
    GridDBBandedTableView2EXPORT_MIC: TcxGridDBBandedColumn;
    GridDBBandedTableView2COND_PRODUTOR: TcxGridDBBandedColumn;
    GridDBBandedTableView2AREA_TOTAL: TcxGridDBBandedColumn;
    GridDBBandedTableView2AREA_PASTAGEM: TcxGridDBBandedColumn;
    GridDBBandedTableView2AREA_AGRICOLA: TcxGridDBBandedColumn;
    GridDBBandedTableView2OUTRAS_AREAS: TcxGridDBBandedColumn;
    GridDBBandedTableView2AREA_UTILIZADA: TcxGridDBBandedColumn;
    GridDBBandedTableView2ATIVO: TcxGridDBBandedColumn;
    GridDBBandedTableView2DOMICILIO_FISCAL: TcxGridDBBandedColumn;
    GridDBBandedTableView2CDD_NOME: TcxGridDBBandedColumn;
    GridDBBandedTableView2DC_NOME: TcxGridDBBandedColumn;
    GridDBBandedTableView2GADO_PRECOCE: TcxGridDBBandedColumn;
    GridDBBandedTableView2GADO_REGISTRADO: TcxGridDBBandedColumn;
    GridDBBandedTableView2GADO_LEITEIRO: TcxGridDBBandedColumn;
    GridDBBandedTableView2CAPACIDADE_ARMAZENAMENTO: TcxGridDBBandedColumn;
    tbsGadoRegistrado: TcxTabSheet;
    PGCSub3: TcxPageControl;
    tbsListaComp3: TcxTabSheet;
    GridComp3: TcxGrid;
    cxGridDBTableView1: TcxGridDBTableView;
    cxGridLevel1: TcxGridLevel;
    tbsEditaComp3: TcxTabSheet;
    edtCodigoComp3: TcxDBTextEdit;
    cxLabel28: TcxLabel;
    cxDBCalcEdit10: TcxDBCalcEdit;
    cxLabel29: TcxLabel;
    cxDBSpinEdit3: TcxDBSpinEdit;
    cxLabel30: TcxLabel;
    dtComp3Itens: TIBDataSet;
    dtListComp3Itens: TIBQuery;
    dsLinkComp3: TDataSource;
    dtListComp2ItensCODIGO: TIntegerField;
    dtListComp2ItensANO: TIntegerField;
    dtListComp2ItensQTDE_VACAS: TIBBCDField;
    dtListComp2ItensQTDE_LEITE_COMERCIALIZADO: TIBBCDField;
    dtListComp2ItensPROPRIEDADE: TIntegerField;
    dtListComp3ItensCODIGO: TIntegerField;
    dtListComp3ItensANO: TIntegerField;
    dtListComp3ItensQTDE: TIBBCDField;
    dtListComp3ItensPRODUTO: TIntegerField;
    dtListComp3ItensPROPRIEDADE: TIntegerField;
    dtListComp3ItensNOME_PRODUTO: TIBStringField;
    dtComp3ItensCODIGO: TIntegerField;
    dtComp3ItensANO: TIntegerField;
    dtComp3ItensQTDE: TIBBCDField;
    dtComp3ItensPRODUTO: TIntegerField;
    dtComp3ItensPROPRIEDADE: TIntegerField;
    GridComp2DBTableView1CODIGO: TcxGridDBColumn;
    GridComp2DBTableView1ANO: TcxGridDBColumn;
    GridComp2DBTableView1QTDE_VACAS: TcxGridDBColumn;
    GridComp2DBTableView1QTDE_LEITE_COMERCIALIZADO: TcxGridDBColumn;
    GridComp2DBTableView1PROPRIEDADE: TcxGridDBColumn;
    dsPesquisaComp3: TDataSource;
    dsRegistroComp3: TDataSource;
    cxGridDBTableView1CODIGO: TcxGridDBColumn;
    cxGridDBTableView1ANO: TcxGridDBColumn;
    cxGridDBTableView1QTDE: TcxGridDBColumn;
    cxGridDBTableView1PRODUTO: TcxGridDBColumn;
    cxGridDBTableView1PROPRIEDADE: TcxGridDBColumn;
    cxGridDBTableView1NOME_PRODUTO: TcxGridDBColumn;
    btnProduto2: TcxButtonEdit;
    cbProduto2: TcxDBLookupComboBox;
    cxLabel31: TcxLabel;
    lstProdutos2: TIBQuery;
    dsProdutos2: TDataSource;
    lstProdutos2CODIGO: TIntegerField;
    lstProdutos2NOME: TIBStringField;
    lstProdutos2GRUPO: TIntegerField;
    lstProdutos2UNIDADE: TIntegerField;
    lstProdutos2VALOR: TFloatField;
    lstProdutos2ATIVO: TIBStringField;
    lstProdutos2TIPO: TIBStringField;
    lstProdutos2EXPORTA_DAP: TIBStringField;
    lstProdutos2INSUMOS: TIBStringField;
    lstProdutos2TIPO_INSUMO: TIBStringField;
    lstProdutos2ORDEM_DAP_PEC: TIntegerField;
    lstProdutos2OUTROS_ANIMAIS: TIBStringField;
    GridPopMenuSub: TcxGridPopupMenu;
    GridDBBandedTableView2TIPO_LOGRADOURO: TcxGridDBBandedColumn;
    GridDBBandedTableView2TP_LOGRADOURO: TcxGridDBBandedColumn;
    btnAgenfa: TcxButtonEdit;
    cbAgenfa: TcxDBLookupComboBox;
    cxLabel32: TcxLabel;
    lstAgenfas: TIBQuery;
    dsAgenfas: TDataSource;
    lstAgenfasCODIGO: TIntegerField;
    lstAgenfasCOD_SEFAZ: TIBStringField;
    lstAgenfasDESCRICAO: TIBStringField;
    lstAgenfasFONE: TIBStringField;
    dtEditAGENFA: TIntegerField;
    lstProdutosTIPO: TIBStringField;
    lstProdutosEXPORTA_DAP: TIBStringField;
    lstProdutosINSUMOS: TIBStringField;
    lstProdutosTIPO_INSUMO: TIBStringField;
    lstProdutosORDEM_DAP_PEC: TIntegerField;
    lstProdutosOUTROS_ANIMAIS: TIBStringField;
    cxDBCalcEdit6: TcxDBCalcEdit;
    cxLabel19: TcxLabel;
    cxDBImage1: TcxDBImage;
    dtEditMARCA: TBlobField;
    procedure FormShow(Sender: TObject);
    procedure btnCidadeClick(Sender: TObject);
    procedure ActCadLookupExecute(Sender: TObject);
    procedure btnProdutorClick(Sender: TObject);
    procedure btnCondicaoClick(Sender: TObject);
    procedure btnDomicilioClick(Sender: TObject);
    procedure btnProdutoClick(Sender: TObject);
    procedure ActFirstExecute(Sender: TObject);
    procedure ActPriorExecute(Sender: TObject);
    procedure ActNextExecute(Sender: TObject);
    procedure ActLastExecute(Sender: TObject);
    procedure ActInsertExecute(Sender: TObject);
    procedure ActEditExecute(Sender: TObject);
    procedure ActDeleteExecute(Sender: TObject);
    procedure ActSaveExecute(Sender: TObject);
    procedure ActCancelExecute(Sender: TObject);
    procedure ActRefreshExecute(Sender: TObject);
    procedure pnlRegistroEnter(Sender: TObject);
    procedure tbsEditaComp1Enter(Sender: TObject);
    procedure tbsListaComp1Enter(Sender: TObject);
    procedure tbsListaComp2Enter(Sender: TObject);
    procedure tbsEditaComp2Enter(Sender: TObject);
    procedure dtComp1ItensBeforeInsert(DataSet: TDataSet);
    procedure dtComp1ItensBeforePost(DataSet: TDataSet);
    procedure dtComp2ItensBeforePost(DataSet: TDataSet);
    procedure dtComp3ItensBeforePost(DataSet: TDataSet);
    procedure btnProduto2Click(Sender: TObject);
    procedure pgcCadastroChange(Sender: TObject);
    procedure dtEditGADO_LEITEIROChange(Sender: TField);
    procedure dtEditGADO_REGISTRADOChange(Sender: TField);
    procedure tbsListaComp3Enter(Sender: TObject);
    procedure tbsEditaComp3Enter(Sender: TObject);
    procedure tbsEstInicialShow(Sender: TObject);
    procedure tbsGadoLeiteiroShow(Sender: TObject);
    procedure tbsGadoRegistradoShow(Sender: TObject);
    procedure btnAgenfaClick(Sender: TObject);
  private
    { Private declarations }
    Foco : string;
    procedure VerificaControles;
  public
    { Public declarations }
  end;

var
  frmCadPropriedade: TfrmCadPropriedade;

implementation

uses untCadTerceiros, untCadCidades, untCadCondPropriedade, untCadProdutos,
  untCadTipoLogradouro, untCadAgenfa;

{$R *.dfm}

procedure TfrmCadPropriedade.FormShow(Sender: TObject);
begin
  inherited;
  PgcComplementar.ActivePageIndex := 0;
  pgcCadastro.ActivePageIndex := 0;
  PGCSub1.ActivePageIndex := 0;
  PGCSub2.ActivePageIndex := 0;

  PGCSub1.HideTabs := true;
  PGCSub2.HideTabs := true;

  lstAgenfas.Close;
  lstAgenfas.Open;

  lstCidades.Close;
  lstCidades.Open;

  lstdcFiscal.Close;
  lstdcFiscal.Open;

  lstProdutores.Close;
  lstProdutores.Open;

  lstCondPropriedade.Close;
  lstCondPropriedade.Open;

  lstProdutos.Close;
  lstProdutos.Open;

  lstProdutos2.Close;
  lstProdutos2.Open;

  dtListComp1Itens.Close;
  dtListComp1Itens.Open;

  dtListComp2Itens.Close;
  dtListComp2Itens.Open;

  dtListComp3Itens.Close;
  dtListComp3Itens.Open;
end;

procedure TfrmCadPropriedade.btnCidadeClick(Sender: TObject);
begin
  inherited;
  frmCadCidades := TfrmCadCidades.Create(Self);
  frmCadCidades.ShowModal;

  lstCidades.Close;
  lstCidades.Open;

  dtEditCIDADE.Value := frmCadCidades.Codigo;

  frmCadCidades.Free;
  frmCadCidades := nil;
end;

procedure TfrmCadPropriedade.ActCadLookupExecute(Sender: TObject);
begin
  inherited;
   if cbCidade.Focused then
    btnCidade.OnClick(btnCidade)
  else if cbProdutor.Focused then
    btnProdutor.OnClick(btnProdutor)
  else if cbCondicao.Focused then
    btnCondicao.OnClick(btnCondicao)
  else if cbDomicilio.Focused then
    btnDomicilio.OnClick(btnDomicilio)
  else if cbProduto.Focused then
    btnProduto.OnClick(btnProduto)
  else if cbProduto2.Focused then
    btnProduto2.OnClick(btnProduto2)
  else if cbAgenfa.Focused then
    btnAgenfa.OnClick(btnAgenfa) ;
end;

procedure TfrmCadPropriedade.btnProdutorClick(Sender: TObject);
begin
  inherited;
  frmCadTerceiros := TfrmCadTerceiros.Create(Self);
  frmCadTerceiros.ShowModal;

  lstProdutores.Close;
  lstProdutores.Open;

  dtEditPRODUTOR.Value := frmCadTerceiros.Codigo;

  frmCadTerceiros.Free;
  frmCadTerceiros := nil;
end;

procedure TfrmCadPropriedade.btnCondicaoClick(Sender: TObject);
begin
  inherited;
  frmCadCondicoesPropriedade := TfrmCadCondicoesPropriedade.Create(Self);
  frmCadCondicoesPropriedade.ShowModal;

  lstCondPropriedade.Close;
  lstCondPropriedade.Open;

  dtEditCOND_PRODUTOR.Value := frmCadCondicoesPropriedade.Codigo;

  frmCadCondicoesPropriedade.Free;
  frmCadCondicoesPropriedade := nil;
end;

procedure TfrmCadPropriedade.btnDomicilioClick(Sender: TObject);
begin
  inherited;
  frmCadCidades := TfrmCadCidades.Create(Self);
  frmCadCidades.ShowModal;

  lstdcFiscal.Close;
  lstdcFiscal.Open;

  dtEditDOMICILIO_FISCAL.Value := frmCadCidades.Codigo;

  frmCadCidades.Free;
  frmCadCidades := nil;
end;

procedure TfrmCadPropriedade.btnProdutoClick(Sender: TObject);
begin
  inherited;
  frmCadProdutos := TfrmCadProdutos.Create(Self);
  frmCadProdutos.ShowModal;


  dtComp1ItensPRODUTO.Value := frmCadProdutos.Codigo;

  lstProdutos.Close;
  lstProdutos.Open;

  frmCadProdutos.Free;
  frmCadProdutos := nil;
end;

procedure TfrmCadPropriedade.ActFirstExecute(Sender: TObject);
begin
  if (pgcCadastro.ActivePageIndex = 0) then
    First(dsPesquisa)
  else
  begin
    if (PgcComplementar.ActivePageIndex = 0) then
      First(dsPesquisaComp1)
    else if (PgcComplementar.ActivePageIndex = 1) then
      First(dsPesquisaComp2)
    else
      First(dsPesquisaComp3);
  end
end;

procedure TfrmCadPropriedade.ActPriorExecute(Sender: TObject);
begin
  if (pgcCadastro.ActivePageIndex = 0) then
    Prior(dsPesquisa)
  else
  begin
    if (PgcComplementar.ActivePageIndex = 0) then
      Prior(dsPesquisaComp1)
    else if (PgcComplementar.ActivePageIndex = 1) then
      Prior(dsPesquisaComp2)
    else
      Prior(dsPesquisaComp3);
  end
end;

procedure TfrmCadPropriedade.ActNextExecute(Sender: TObject);
begin
   if (pgcCadastro.ActivePageIndex = 0) then
    Next(dsPesquisa)
  else
  begin
    if (PgcComplementar.ActivePageIndex = 0) then
      Next(dsPesquisaComp1)
    else if (PgcComplementar.ActivePageIndex = 1) then
      Next(dsPesquisaComp2)
    else
      Next(dsPesquisaComp3);
  end
end;

procedure TfrmCadPropriedade.ActLastExecute(Sender: TObject);
begin
  if (pgcCadastro.ActivePageIndex = 0) then
    Last(dsPesquisa)
  else
  begin
    if (PgcComplementar.ActivePageIndex = 0) then
      Last(dsPesquisaComp1)
    else if (PgcComplementar.ActivePageIndex = 1) then
      Last(dsPesquisaComp2)
    else
      Last(dsPesquisaComp3);
  end
end;

procedure TfrmCadPropriedade.ActInsertExecute(Sender: TObject);
begin
if (pgcCadastro.ActivePageIndex = 0) then
    Inserir(dsRegistro,tbsEdita)
  else
  begin
    if (PgcComplementar.ActivePageIndex = 0) then
      Inserir(dsRegistroComp1,tbsEditaComp1)
    else if (PgcComplementar.ActivePageIndex = 1) then
      Inserir(dsRegistroComp2,tbsEditaComp2)
    else
      Inserir(dsRegistroComp3,tbsEditaComp3)
  end
end;

procedure TfrmCadPropriedade.ActEditExecute(Sender: TObject);
begin
  if (pgcCadastro.ActivePageIndex = 0) then
  begin
    Editar(dsRegistro,tbsEdita);
    edtCodigo.SetFocus;
  end
  else
  begin
    if ((PgcComplementar.ActivePageIndex = 0)  and (Foco = 'Comp1')) then
    begin
      Editar(dsRegistroComp1,tbsEditaComp1);
      edtCodigoComp1.SetFocus;
    end
    else if ((PgcComplementar.ActivePageIndex = 1)  and (Foco = 'Comp2')) then
    begin
      Editar(dsRegistroComp2,tbsEditaComp2);
      edtCodigoComp2.SetFocus;
    end
    else
    begin
      Editar(dsRegistroComp3,tbsEditaComp3);
      edtCodigoComp3.SetFocus;
    end
  end
end;

procedure TfrmCadPropriedade.ActDeleteExecute(Sender: TObject);
begin
  if (pgcCadastro.ActivePageIndex = 0) then
    Excluir(dsRegistro,dsPesquisa,tbsLista)
  else
  begin
    if (PgcComplementar.ActivePageIndex = 0) then
      Excluir(dsRegistroComp1,dsPesquisaComp1,tbsListaComp1)
    else if (PgcComplementar.ActivePageIndex = 1) then
      Excluir(dsRegistroComp2,dsPesquisaComp2,tbsListaComp2)
    else
      Excluir(dsRegistroComp3,dsPesquisaComp3,tbsListaComp3);
  end
end;

procedure TfrmCadPropriedade.ActSaveExecute(Sender: TObject);
begin
  if ((dsRegistro.DataSet.State in [DSINSERT,DSEDIT] ) and (Foco = 'Registro')) then
  begin
    Salvar(dsRegistro,dsPesquisa,tbsLista);
    VerificaStatus(dsRegistro);
  end
  else
  begin
    if ((dsRegistroComp1.DataSet.State in [DSINSERT,DSEDIT]) and (Foco = 'Comp1')) then
      Salvar(dsRegistroComp1,dsPesquisaComp1,tbsListaComp1)
    else if ((dsRegistroComp2.DataSet.State in [DSINSERT,DSEDIT]) and (Foco = 'Comp2') ) then
      Salvar(dsRegistroComp2,dsPesquisaComp2,tbsListaComp2)
    else if ((dsRegistroComp3.DataSet.State in [DSINSERT,DSEDIT])) then
      Salvar(dsRegistroComp3,dsPesquisaComp3,tbsListaComp3)
  end
end;

procedure TfrmCadPropriedade.ActCancelExecute(Sender: TObject);
begin
  if ((dsRegistro.DataSet.State in [DSINSERT,DSEDIT] ) and (Foco = 'Registro')) then
  begin
    Cancelar(dsRegistro,dsPesquisa,tbsLista);
    VerificaStatus(dsRegistro);
  end
  else
  begin
    if ((dsRegistroComp1.DataSet.State in [DSINSERT,DSEDIT])  and (Foco = 'Comp1')) then
      Cancelar(dsRegistroComp1,dsPesquisaComp1,tbsListaComp1)
    else if ((dsRegistroComp2.DataSet.State in [DSINSERT,DSEDIT]) and (Foco = 'Comp2') ) then
      Cancelar(dsRegistroComp2,dsPesquisaComp2,tbsListaComp2)
    else if ((dsRegistroComp3.DataSet.State in [DSINSERT,DSEDIT])  ) then
      Cancelar(dsRegistroComp3,dsPesquisaComp3,tbsListaComp3);
  end
end;

procedure TfrmCadPropriedade.ActRefreshExecute(Sender: TObject);
begin
  if (pgcCadastro.ActivePageIndex = 0) then
    Refresh(dsPesquisa)
  else
  begin
    if (PgcComplementar.ActivePageIndex = 0) then
      Refresh(dsPesquisaComp1)
    else if (PgcComplementar.ActivePageIndex = 1) then
      Refresh(dsPesquisaComp2)
    else
      Refresh(dsPesquisaComp3);
  end
end;

procedure TfrmCadPropriedade.pnlRegistroEnter(Sender: TObject);
begin
  inherited;
  VerificaStatus(dsRegistro);
  Foco := 'Registro';
end;

procedure TfrmCadPropriedade.tbsEditaComp1Enter(Sender: TObject);
begin
  inherited;
  VerificaStatus(dsRegistroComp1);
  Foco := 'Comp1';
end;

procedure TfrmCadPropriedade.tbsListaComp1Enter(Sender: TObject);
begin
  VerificaStatus(dsPesquisaComp1);
  Foco := 'Comp1';
end;

procedure TfrmCadPropriedade.tbsListaComp2Enter(Sender: TObject);
begin
  VerificaStatus(dsPesquisaComp2);
  Foco := 'Comp2';
end;

procedure TfrmCadPropriedade.tbsEditaComp2Enter(Sender: TObject);
begin
  inherited;
   VerificaStatus(dsRegistroComp2);
  Foco := 'Comp2';
end;

procedure TfrmCadPropriedade.dtComp1ItensBeforeInsert(DataSet: TDataSet);
begin
  inherited;
   if (dtEdit.State in [dsEdit,dsInsert]) then
  begin
    dtEdit.Post;
    dtEdit.Edit;
  end;
end;

procedure TfrmCadPropriedade.dtComp1ItensBeforePost(DataSet: TDataSet);
begin
  inherited;
  dtComp1ItensPROPRIEDADE.value := dtEditCODIGO.Value;
end;

procedure TfrmCadPropriedade.dtComp2ItensBeforePost(DataSet: TDataSet);
begin
  inherited;
  dtComp2ItensPROPRIEDADE.value := dtEditCODIGO.Value;
end;

procedure TfrmCadPropriedade.VerificaControles;
begin
  PgcComplementar.ActivePageIndex := 0;
  PGCSub1.ActivePageIndex := 0;
  PGCSub2.ActivePageIndex := 0;
  PGCSub3.ActivePageIndex := 0;
  tbsGadoLeiteiro.TabVisible := (dtEditGADO_LEITEIRO.Value = 'S');
  tbsGadoRegistrado.TabVisible := (dtEditGADO_REGISTRADO.Value = 'S');
end;

procedure TfrmCadPropriedade.dtComp3ItensBeforePost(DataSet: TDataSet);
begin
  inherited;
  dtComp3ItensPROPRIEDADE.value := dtEditCODIGO.Value;
end;

procedure TfrmCadPropriedade.btnProduto2Click(Sender: TObject);
begin
  inherited;
  frmCadProdutos := TfrmCadProdutos.Create(Self);
  frmCadProdutos.ShowModal;


  dtComp3ItensPRODUTO.Value := frmCadProdutos.Codigo;

  lstProdutos2.Close;
  lstProdutos2.Open;

  frmCadProdutos.Free;
  frmCadProdutos := nil;
end;

procedure TfrmCadPropriedade.pgcCadastroChange(Sender: TObject);
begin
  inherited;
  VerificaControles ;
end;

procedure TfrmCadPropriedade.dtEditGADO_LEITEIROChange(Sender: TField);
begin
  inherited;
  VerificaControles ;
end;

procedure TfrmCadPropriedade.dtEditGADO_REGISTRADOChange(Sender: TField);
begin
  inherited;
  VerificaControles ;
end;

procedure TfrmCadPropriedade.tbsListaComp3Enter(Sender: TObject);
begin
  inherited;
  VerificaStatus(dsPesquisaComp3);
  Foco := 'Comp3';
end;

procedure TfrmCadPropriedade.tbsEditaComp3Enter(Sender: TObject);
begin
  inherited;
  VerificaStatus(dsRegistroComp3);
  Foco := 'Comp3';
end;

procedure TfrmCadPropriedade.tbsEstInicialShow(Sender: TObject);
begin
  inherited;
  GridPopMenuSub.Grid := GridComp1;
end;

procedure TfrmCadPropriedade.tbsGadoLeiteiroShow(Sender: TObject);
begin
  inherited;
  GridPopMenuSub.Grid := GridComp2;
end;

procedure TfrmCadPropriedade.tbsGadoRegistradoShow(Sender: TObject);
begin
  inherited;
  GridPopMenuSub.Grid := GridComp3;
end;

procedure TfrmCadPropriedade.btnAgenfaClick(Sender: TObject);
begin
  inherited;
  frmCadAgenfa := TfrmCadAgenfa.Create(Self);
  frmCadAgenfa.ShowModal;


  dtEditAGENFA.Value := frmCadAgenfa.Codigo;

  lstAgenfas.Close;
  lstAgenfas.Open;

  frmCadAgenfa.Free;
  frmCadAgenfa := nil;
end;

end.
